package com.ruoyi.demo.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品信息对象 demo_product
 * 
 * @author ruoyi
 * @date 2025-10-14
 */
public class DemoProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private Long productId;

    /** 所属省 */
    @Excel(name = "所属省")
    private String province;

    /** 所属市 */
    @Excel(name = "所属市")
    private String city;

    /** 代理商 */
    @Excel(name = "代理商")
    private String agent;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品类型（3G,4G,合约机） */
    @Excel(name = "商品类型")
    private String productType;

    /** 商品颜色（多选，逗号分隔：白色,红色,绿色,金色,黑色,粉色） */
    @Excel(name = "商品颜色")
    private String productColor;

    /** 状态（0上架 1下架） */
    @Excel(name = "状态", readConverterExp = "0=上架,1=下架")
    private String status;

    /** 所属人 */
    @Excel(name = "所属人")
    private String owner;

    /** 商品描述（富文本） */
    private String description;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 联系方式列表 */
    private List<DemoProductContact> contactList;

    /** 图片列表 */
    private List<DemoProductImage> imageList;

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }

    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }

    public void setAgent(String agent) 
    {
        this.agent = agent;
    }

    public String getAgent() 
    {
        return agent;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setProductType(String productType) 
    {
        this.productType = productType;
    }

    public String getProductType() 
    {
        return productType;
    }

    public void setProductColor(String productColor) 
    {
        this.productColor = productColor;
    }

    public String getProductColor() 
    {
        return productColor;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setOwner(String owner) 
    {
        this.owner = owner;
    }

    public String getOwner() 
    {
        return owner;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }

    public void setPublishTime(Date publishTime)
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime()
    {
        return publishTime;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public List<DemoProductContact> getContactList()
    {
        return contactList;
    }

    public void setContactList(List<DemoProductContact> contactList)
    {
        this.contactList = contactList;
    }

    public List<DemoProductImage> getImageList()
    {
        return imageList;
    }

    public void setImageList(List<DemoProductImage> imageList)
    {
        this.imageList = imageList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("province", getProvince())
            .append("city", getCity())
            .append("agent", getAgent())
            .append("productName", getProductName())
            .append("productType", getProductType())
            .append("productColor", getProductColor())
            .append("status", getStatus())
            .append("owner", getOwner())
            .append("description", getDescription())
            .append("amount", getAmount())
            .append("publishTime", getPublishTime())
            .append("delFlag", getDelFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("contactList", getContactList())
            .append("imageList", getImageList())
            .toString();
    }
}

